home *** CD-ROM | disk | FTP | other *** search
/ Reverse Code Engineering RCE CD +sandman 2000 / ReverseCodeEngineeringRceCdsandman2000.iso / RCE / Tools / Win95 Secrets / SETUP.Z / W32SSUPP.C < prev    next >
Encoding:
C/C++ Source or Header  |  1995-07-19  |  853 b   |  34 lines

  1. //==================================
  2. // APISPY32, SIMONSEZ - Matt Pietrek 1995
  3. // FILE: W32SSUPP.C
  4. //==================================
  5. #include <windows.h>
  6. #include "w32ssupp.h"
  7.  
  8. typedef DWORD (__stdcall *XPROC)(DWORD);
  9.  
  10. DWORD GetModuleBaseFromWin32sHMod(HMODULE hMod)
  11. {
  12.     XPROC ImteFromHModule, BaseAddrFromImte;
  13.     HMODULE hModule;
  14.     DWORD imte;
  15.     
  16.     hModule = GetModuleHandle("W32SKRNL.DLL");
  17.     if( !hModule )
  18.         return 0;
  19.     
  20.     ImteFromHModule = (XPROC)GetProcAddress(hModule, "_ImteFromHModule@4");
  21.     if ( !ImteFromHModule )
  22.         return 0;
  23.     
  24.     BaseAddrFromImte = (XPROC)GetProcAddress(hModule, "_BaseAddrFromImte@4");
  25.     if ( !BaseAddrFromImte )
  26.         return 0;
  27.  
  28.     imte = ImteFromHModule( (DWORD)hMod);
  29.     if ( !imte )
  30.         return 0;
  31.     
  32.     return BaseAddrFromImte(imte);
  33. }
  34.